package 局部路径规划器;

import java.util.HashSet;
import java.util.Vector;

public class frenetPath{
    // Frenet坐标系
    public Vector<Double> t = new Vector<>();
    public Vector<Double> d = new Vector<>();
    public Vector<Double> d_d = new Vector<>();
    public Vector<Double> d_dd = new Vector<>();
    public Vector<Double> d_ddd = new Vector<>();
    public Vector<Double> s = new Vector<>();
    public Vector<Double> s_d = new Vector<>();
    public Vector<Double> s_dd = new Vector<>();
    public Vector<Double> s_ddd = new Vector<>();
    // 轨迹的代价
    double cd = 0;
    double cv = 0;
    double cf = 0;
    // 笛卡尔坐标系
    public Vector<Double> x = new Vector<>();
    public Vector<Double> y = new Vector<>();
    public Vector<Double> yaw = new Vector<>(); // 航向角
    public Vector<Double> ds = new Vector<>(); // 相邻点间的直线距离
    public Vector<Double> c = new Vector<>();  // 曲率
    public HashSet<point> position_set = new HashSet<>(); // 笛卡尔坐标列表
    public frenetPath(){}
    public frenetPath(Vector<Double> t,Vector<Double> d,Vector<Double> d_d,Vector<Double> d_dd,Vector<Double> d_ddd){
        this.t = new Vector<Double>(t);
        this.d = new Vector<Double>(d);
        this.d_d = new Vector<Double>(d_d);
        this.d_dd = new Vector<Double>(d_dd);
        this.d_ddd = new Vector<Double>(d_ddd);
    }

}
